package com.example.ioc.demos.controller;

import com.example.ioc.demos.config.UserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;


@Controller
public class UserController {
    // @Autowired把userService这个属性注入进来了
    // @Autowired
//    public UserService userService;
//    // public UserService us;
//    // UserService使用什么名是无所谓的,都可以的
//
//    // 构造方法注入
//    public UserInfo userInfo;
//
//    // 默认使用无参的
////    public UserController() {
////    }
//
//    // 使用@Autowired进行构造函数的注入
//    @Autowired
//    public UserController(UserService userService) {
//        this.userService = userService;
//    }

//    public UserController(UserService userService, UserInfo userInfo) {
//        this.userService = userService;
//        this.userInfo = userInfo;
//    }

    // 3. Setter注入
//    private UserService us;
//
//    @Autowired
//    public void setUs(UserService us) {
//        this.us = us;
//    }

    // public UserInfo us;
//    @Qualifier("userInfo1")
//    @Autowired
//    private UserInfo user;

    // 使用@Resource指定bean
    @Resource(name = "userInfo1")
    @Autowired
    private UserInfo user;


    public void doController(){
        // us.doService();
        System.out.println(user);
        System.out.println("doController...");
    }
}
